<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>正则表达式语法</title>
</head>
<body>
<script>
    /*检查一个字符串是否有.点
    *   .点 任意字符 具有特殊的意义
    *   如果就想用 .点 需要用转义字符\
    *   \.表示.
    *   \\ 表示\
    *   在构造函数中，由于它的参数是一个字符串，如果需要使用\ 需要使用\\来代替
    *   \w 任意字母、数字、_ 相当于[A-z0-9_]
    *   \W 除了字母、数字、_相当于[^A-z0-9_]
    *   \d 数字 [0-9]
    *   \D 除了数字[^0-9]
    *   \s 空格
    *   \S 除了空格
    *   \b 单词边界 标识是一个独立的单词
    *   \B 除了单词边界
    */
    //举例1
    var reg=/\./;//表示字符串中是否有.点
    console.log(reg.test("ab.c"));//返回true
    //举例2
    var reg1=/\\/;//表示字符串中是否有\
    console.log(reg1.test("ab\\"));//\\代表\ 返回true
    //举例3
    var reg2=new RegExp("\.");
    console.log(reg2);// 返回的是/./

    var reg3=new RegExp("\\.");
    console.log(reg3);// 返回的是/\./

    var reg4=new RegExp("\\\\.");
    console.log(reg4);// 返回的是/\\./
    //举例4 \w 、\W
    var reg5=/\w/;//  \小w表示任意字母 数字 _
    console.log(reg5.test("baf"));//返回true
    console.log(reg5.test("123"));//返回true
    console.log(reg5.test("_"));//返回true

    var reg6=/\W/;// \W 表示除了字母 数字 _
    console.log(reg6.test("aaa"));//返回false
    console.log(reg6.test("&&&&&&&"));//返回true
    //举例5 \d  \D
    var reg7=/\d/;
    console.log(reg7.test("12345"));//返回true
    console.log(reg7.test("ab"));//返回false

    var reg8=/\D/;
    console.log(reg8.test("$#@^&**(())"));//返回true
    console.log(reg8.test("122"));//返回false
    //举例6 \s  \S
    var reg9=/\s/;
    console.log(reg9.test("abc"));//返回false
    console.log(reg9.test("ab c"));//返回true

    var reg10=/\S/;
    console.log(reg10.test("  "));//返回false
    console.log(reg10.test("abc"));//返回true
    //举例7\b  \B 创建一个正则表达式 检查一个字符串是否含有child
    var reg11=/\bchild\b/;
    console.log(reg11.test("hello children"));//返回false
    console.log(reg11.test("hell child"));//返回true

    var reg12=/\Bchild\B/;
    console.log(reg12.test("ooochildoooo"));//返回true  child前面后面 都可以有字母或者数字

    //举例8 接收一个用户的输入
    // var str=prompt("请输入用户名");
    // console.log(str);
    var str="    hello       ";
    //去掉字符串的空格，用""来代替空格
    str=str.replace(/\s/g,"");//在全字符串中寻找空格 用""空串替代
    console.log(str);

    var str1="     he  llo       ";//留中间的空格
    //去掉he前面的空格 去掉llo后面的空格
    // str1=str1.replace(/^\s*/,"");//去掉he之前所有的空格用""来替代
    // str1=str1.replace(/\s*$/,"");//去掉llo后面所有的空格用""来替代
    str1=str1.replace(/^\s*|\s*$/g,"");//去掉前面和去掉后面 二者合在一起 留中间的空格
    console.log(str1);
</script>
</body>
</html>